package com.denlaku.longan.util;

import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;

import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.Base64;

/**
 * @author tianx
 */
public class BaseUtils {
    /**
     * 解码base64文本
     *
     * @param text base64文本
     * @return 解码后文本
     */
    public static String decodeBase64(String text) {
        if (StringUtils.isEmpty(text)) {
            return null;
        }
        return new String(Base64.getDecoder().decode(text), StandardCharsets.UTF_8);
    }

    /**
     * 介于SHA-256编码文本
     *
     * @param text 文本
     * @return 编码后文本
     */
    @SneakyThrows
    public static String encodeSha256(String text) {
        if (StringUtils.isEmpty(text)) {
            return null;
        }
        MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
        byte[] bytes = messageDigest.digest(text.getBytes(StandardCharsets.UTF_8));
        return new BigInteger(1, bytes).toString(16);
    }

}
